Ix: Do not dispose the enumerator while enumerating in the ToObservable operator.#915
Conversation
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToObservable.cs
Outdated
Show resolved
Hide resolved
quinmars
left a comment
There was a problem hiding this comment.
I'm using now the original logic without catching Rx pipeline exceptions. There are two places, however, where the enumerator could throw without being catched atm.
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToObservable.cs
Outdated
Show resolved
Hide resolved
Ix.NET/Source/System.Linq.Async/System/Linq/Operators/ToObservable.cs
Outdated
Show resolved
Hide resolved
|
Review by @bartdesmet still needed? His earlier review has been adressed by @quinmars if I see this correctly. |
|
Somehow, github could not link the commit to @bartholinie. Does any one know how to make that work? |
|
"Jens Chr authored and quinmars committed 12 hours ago". Commit info is preserved, isn't it? |
|
The requested change was about the recursion and has been adressed, right? Would merge after checks pass. |
|
Right the commit info is preserve, but @bartholinie is not listed in the contributors list. |
|
@onovotny @bartdesmet Can we have a Linq.Async / Ix.Async preview that would contain this fix? Thanks a lot. |
As pointed out by @danielcweber the current implementation of
ToObservablemay violate the contract ofIAsyncEnumerator, because it is possible to callDisposeAsyncduring an on goingMoveNextAsynccall.#423 (comment)